#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>


int main()
{
	//1 创建key
	key_t key = ftok(".",'m');
	if(-1 == key) 
	{	
		printf("创建key失败:%m\n");
		exit(-1);
	}
	printf("创建key成功!\n");

	//2 创建共享内存   页  page  4K==1页
	int shmid = shmget(key,4096,IPC_CREAT);
	if(-1 == shmid)
	{	
		printf("创建共享内存失败:%m\n");
		exit(-1);
	} 
	printf("创建共享内存：%m!\n");

	struct shmid_ds d = {0};
	
	//获取状态：
	shmctl(shmid,IPC_STAT,&d);			
	printf("key:%x\n",d.shm_perm.__key);		//打印key;

	return 0;
}